package com.xingzhi.shortvideosharingplatform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xingzhi.shortvideosharingplatform.dto.FavoritesFolderDTO;
import com.xingzhi.shortvideosharingplatform.model.FavoritesFolder;

import java.util.List;

public interface FavoritesFolderService extends IService<FavoritesFolder> {
    
    /**
     * 创建收藏夹
     * @param folderDTO 收藏夹信息
     * @return 创建后的收藏夹ID
     */
    Long createFolder(FavoritesFolderDTO folderDTO);
    
    /**
     * 创建收藏夹（简化版）
     * @param userId 用户ID
     * @param folderName 收藏夹名称
     * @return 创建后的收藏夹ID
     */
    Long createFolder(Long userId, String folderName);
    
    /**
     * 更新收藏夹信息
     * @param folderDTO 收藏夹信息
     * @return 是否更新成功
     */
    boolean updateFolder(FavoritesFolderDTO folderDTO);
    
    /**
     * 删除收藏夹
     * @param folderId 收藏夹ID
     * @param userId 用户ID（确保只能删除自己的收藏夹）
     * @return 是否删除成功
     */
    boolean deleteFolder(Long folderId, Long userId);
    
    /**
     * 获取用户的所有收藏夹
     * @param userId 用户ID
     * @return 收藏夹列表
     */
    List<FavoritesFolder> getUserFolders(Long userId);
    
    /**
     * 获取收藏夹详情
     * @param folderId 收藏夹ID
     * @param userId 用户ID
     * @return 收藏夹信息
     */
    FavoritesFolder getFolderDetail(Long folderId, Long userId);
} 